package main

import (
	"VirtualCamera/common"
	"VirtualCamera/middlewares"
	"VirtualCamera/routers"
	"os"

	"github.com/gin-gonic/gin"
	_ "github.com/jinzhu/gorm/dialects/mysql"
	"github.com/spf13/viper"
)

func main() {
	initConfig()

	db := common.InitDB()
	defer db.Close()

	//创建默认路由引擎
	r := gin.Default()

	r.Use(middlewares.CorsMiddleware())

	// 将image目录设为静态资源路径，映射为图片url,imagefile是API,./image是文件夹路径
	r.Static("/imagefile","./image")

	//加载模板 放在配置路由前
	// r.LoadHTMLGlob("templates/**/**/*")
	//配置静态web资源目录 第一个参数表示路由 第二个表示映射到目录
	// r.Static("/static", "./static")

	//创建基于cookie 的存储引擎 secret参数用于加密的密钥
	// store := cookie.NewStore([]byte("secret"))
	//配置session的中间件 store是前面创建的存储引擎 可以替换成别的引擎
	// r.Use(sessions.Sessions("mysession", store))

	//配置路由
	routers.GameRoutersInit(r)
	routers.AdminRoutersInit(r)
	routers.DefaultRoutersInit(r)
	routers.UserRgameRouterInit(r)
	routers.UserRouterInit(r)
	r.Run()
}

func initConfig() {
	workDir, _ := os.Getwd()
	viper.SetConfigName("application")
	viper.SetConfigType("yml")
	viper.AddConfigPath(workDir + "/conf")
	err := viper.ReadInConfig()
	if err != nil {
		panic("")
	}
}
